/**
 * 清空仓库 store 里的对象
 * @param { IndexedDBHelp } help 访问数据库的实例
 * @param { string } storeName 仓库名称（表名）
 * @param { IDBTransaction } tranRequest 如果使用事务的话，需要传递开启事务时创建的连接对象
 * @returns
 */
export default function deleteStore(help, storeName, tranRequest = null) {
  return new Promise((resolve, reject) => {
    // define a function
    const _clearStore = (__tran) => {
      __tran
        .objectStore(storeName) // 获取store
        .clear().onsuccess = // 删除store
        (event) => {
          // 成功后的回调
          resolve(event); // 返回对象的ID
        };
    };
    if (tranRequest === null) {
      help.beginWrite([storeName]).then((tran) => {
        // 自己开一个事务
        _clearStore(tran);
      });
    } else {
      // 使用传递过来的事务
      _clearStore(tranRequest);
    }
  });
}
